Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: support development releases of Python #3419

Merged
merged 23 commits into from
Nov 17, 2021

Conversation

henryiii
Copy link
Collaborator

@henryiii henryiii commented Oct 27, 2021

Description

Suggested changelog entry:

* Test python-3.11 on PRs with the ``python dev`` label.
* Support PyPy 7.3.7 and the PyPy3.8 beta.

@henryiii henryiii added the python dev Working on development versions of Python label Oct 27, 2021
@henryiii henryiii force-pushed the henryiii/ci/python-dev branch from 2abb0d4 to ee1fb1b Compare October 27, 2021 20:07
@Skylion007
Copy link
Collaborator

@henryiii I think the crash might be related to calling the CPython APIs in get_type_override when being dispatched from a PURE_OVERRIDE call, specifically here:

int get() override { PYBIND11_OVERRIDE(int, TestFactory6, get, /*no args*/); }
There is something about that edge case that is causing the segfault and why the other tests in pass.

@Skylion007
Copy link
Collaborator

@henryiii @rwgk It's not the best fix, but all tests pass for Python 3.11. We really need to open an issue about the fact that the new frame struct API should be public or at least have some getter for covarnames.

@Skylion007 Skylion007 requested a review from rwgk November 16, 2021 17:10
@henryiii
Copy link
Collaborator Author

Could you do that? You've looked into it the most.

tests/test_exceptions.py Outdated Show resolved Hide resolved
tests/test_builtin_casters.py Show resolved Hide resolved
tests/test_buffers.py Outdated Show resolved Hide resolved
include/pybind11/pybind11.h Outdated Show resolved Hide resolved
@henryiii
Copy link
Collaborator Author

If you want, we could just disable the two failing tests on PyPy and move forward with PyPy testing. The garbage collector one doesn't clean up, even on 3.7, and the hook one doesn't work for mysterious reasons (I can't make a MWE, it seems to work in MWE form).

@henryiii henryiii force-pushed the henryiii/ci/python-dev branch from cee0419 to 0618bd5 Compare November 16, 2021 20:41
Copy link
Collaborator

@rwgk rwgk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, thanks!

standard:
name: "🐍 3.11 dev • ubuntu-latest • x64"
runs-on: ubuntu-latest
if: "contains(github.event.pull_request.labels.*.name, 'python dev')"
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this will trigger for workflow dispatch. And I wanted it to run weekly. Can do in a followup PR.

@henryiii henryiii merged commit 72282f7 into pybind:master Nov 17, 2021
@henryiii henryiii deleted the henryiii/ci/python-dev branch November 17, 2021 14:44
@github-actions github-actions bot added the needs changelog Possibly needs a changelog entry label Nov 17, 2021
@henryiii henryiii removed the needs changelog Possibly needs a changelog entry label Dec 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
python dev Working on development versions of Python
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants